Web Enabling Applications

نویسندگان

  • Brent Welch
  • Stephen Uhler
چکیده

This demo shows a Tcl-based Web server that can be extended with application-specific modules to support a variety of applications. The server is written as a pure Tcl script[Ouster94][Welch95] that is modular, extensible, and embeddable. Clients use a regular Web browser to make HTTP requests to the Tcl server. The server can be directly embedded into existing applications, or it can act as a stand-alone server that includes application-specific modules. The server web-enables your application so it can be accessed through a standard Web browser. The architecture of the server allows interception of URL requests at two levels. At the top-level, the application can implement a whole sub-tree of the URL hierarchy. In this case the application is free to implement whatever semantics it wants for those URLs. The server provides anDirect module that works at this level. It maps URL requests directly into calls on Tcl procedures. The name of the URL determines the name of the Tcl command, and query data from forms is bound to procedure arguments. The return value of the Tcl procedure is returned as HTML data to be displayed in the browser. For example, the URL /mail/bugreport is bound to Mail_/mail/bugreport, and this procedure sends its form data to the registered webmaster for the server. Note that it is not possible to invoke arbitrary Tcl commands in the server via this interface. The second level of URL processing supports handlers for different document types. This level is supported by the Doc module that implements filebased URLs. The file name suffix is used to select a MIME content type [MIME93], and handlers can be defined for different content types. This level is used to support standard CGI, server-side includes, and imagemaps. Applications can define new file content types and register handlers by defining appropriately named Tcl commands. The application/x-tcl-subst content type is used for hybrid HTML+Tcl documents. These pages are HTML templates that include inline Tcl commands. The server processes the templates in Safe-Tcl interpreters. Side effects from the Tcl processing control the application, and the results are inserted into the Web page viewed on the clients. HTML forms allow input, and specialized displays can use Tclets or Java applets. The server supports a series of page accesses by the same client, which are called a session. A session is identified by query data posted with the URL. Each session maps to an instance of a Safe-Tcl interpreter. The HTML+Tcl templates are processed in the interpreter for the session. Creating a session creates an interpreter and installs application-specific aliases. The aliases are intended to be the primary Tcl commands used in the HTML+Tcl templates. Sessions are further subdivided into groups (for lack of a better name) that collect session state information. A group maps to a Tcl array within the per-session interpreter. A group may be associated with a page or shared by different pages, and a page could have several groups. Query data can be bound to groups, automatically updating the Tcl arrays based on query data. The server supports other standard features like logging and authentication mechanisms. These are implemented by modules that can be tuned for application-specific needs. The system includes an authoring environment for the HTML+Tcl templates that is based on the WebTk Tcl/Tk HTML editor [Welch96]. Content developers are presented with a simple property sheet interface to aliases that are used in the temWeb Enabling Applications Brent Welch Stephen Uhler {bwelch,suhler}@eng.sun.com Sun Microsystems Laboratories 2550 Garcia Ave. MS UMTV29-232 Mountain View, CA 94043 plates. They can develop the surrounding HTML in a WYSIWYG environment and easily add and tune the calls to the aliases. Open APIs are used to create the aliases and integrate them into the authoring environment. The demo features SNMP device management [SNMP] via a Web browser. The server uses the Scotty SNMP Tcl extension to access and control SNMP-based network devices [Schoenwaelder95]. This application uses the HTML+Tcl templates. It defines a content type,application/x-snmp, that processes the query data in an SNMP-specific way and then uses the regular template mechanism. It uses sessions to record which device is being accessed. Groups within a session are used to control the data-driven SNMP module. SNMP uses a database, or MIB, that describes the device. Session groups are used on different pages to record what part of the MIB is being displayed and how it is displayed. The application includes a general MIB browser that lets you navigate the MIB to examine different parts of the SNMP state of the device. The Tcl Web server is designed to be a flexible mechanism that facilitates web-access to new and existing applications. It leverages the embeddability and extensibility of Tcl so it is easy to add the server to your application. The architecture supports a variety of ways to map URL accesses to the application. In particular, the HTML+Tcl templates for dynamic page generation provide a rich infrastructure for building the web-based interface to your application.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Enabling Network Caching of Dynamic Web Objects

The World Wide Web is an important infrastructure for enabling modern information-rich applications. Businesses can lose value due to lack of timely employee communication, poor employee coordination, or poor brand image with slow or unresponsive web applications. In this paper, we analyze the responsiveness of an Intranet web application, i.e., an application within the corporate firewalls. Us...

متن کامل

Building Community-based Web Applications with a Model-driven Approach and Design Patterns

This chapter addresses the design of community-based Web applications using the modeldriven approach and design patterns. A set of best practices, identified by reviewing a number of top-rank Web 2.0 Web applications is illustrated and turned into a set of design patterns, expressed with a Model-Driven approach. A suitable development process, with specific focus on community-based application ...

متن کامل

O'SOAP - A Web Services Framework for DDDAS Applications

Because of the continued development of web services protocols and the apparent convergence of Grid services with web services, it is becoming evident that web services will be an important enabling technology for future computational science applications. This is especially true for Dynamic Data-Driven Application Systems (DDDAS’s). In this paper, we argue that the current systems for web serv...

متن کامل

SIMD in JavaScript via C++ and Emscripten

Emscripten, Mozilla’s C/C++ to JavaScript compiler, can be used to port existing native C/C++ applications to the Web platform. When paired with a fast JavaScript engine, the applications run at near-native speeds. However, compute intensive C/C++ applications, such as games and media-processing, making use of SIMD intrinsics or gcc style vector code cannot achieve near-native speed, because Ja...

متن کامل

Interoperability using Ontology Mapping

The Semantic Web presents new opportunities for enabling modeling, sharing and reasoning with knowledge available on the web. These are made possible through the formal representation of the knowledge domain with ontologies. Ontology is also seen as a key factor for enabling interoperability across heterogeneous systems. Ontology mapping is required for combining distributed and heterogeneous o...

متن کامل

Versus: A Temporal Web Repository

Web data warehouses are useful for applications that need to process large amounts of Web data in a short time. This paper presents Versus, a Web repository model supporting object versioning and distributed operation for this kind of applications. Versioning allows applications to save the time dimension of data, enabling the development of new Web applications. Distribution allows parallel op...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1997